package pl.edu.pw.polygen.modeler.client.graph;


public class EdgeModel extends BaseModel implements IEdgeModel{
	private EdgeType type;
	private IVertexModel begin;
	private IVertexModel end;
	
	//Use when edge is a splain
	private IVertexModel controlA;
	private IVertexModel controlB;
	private double step;
	
	public EdgeModel(){
		super();
	}
	
	public EdgeModel(IVertexModel b, IVertexModel e, EdgeType type){
		this();
		this.type = type;
		this.begin = b;
		this.end = e;
	}

	@Override
	public IVertexModel getBegin() {
		return begin;
	}

	@Override
	public void setBegin(IVertexModel vertexModel) {
		begin = vertexModel;
	}

	@Override
	public IVertexModel getEnd() {
		return end;
	}

	@Override
	public void setEnd(IVertexModel vertexModel) {
		end = vertexModel;
	}
	
	@Override
	public IVertexModel getControlA() {
		return controlA;
	}

	public void setControlA(IVertexModel controlA) {
		this.controlA = controlA;
	}

	@Override
	public IVertexModel getControlB() {
		return controlB;
	}

	public void setControlB(IVertexModel controlB) {
		this.controlB = controlB;
	}

	@Override
	public EdgeType getType() {
		return type;
	}

	@Override
	public void setType(EdgeType type) {
		this.type = type;
	}

	@Override
	public double getStep() {
		return step;
	}

	@Override
	public void setStep(double value) {
		this.step = value;
	}
	
}
